iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
Modern Web

Git 起來!每日一招學起來系列 第 1

Day 1:從 git add 開始 —— 把東西放進「購物車」

  • 分享至 

  • xImage
  •  

大家好 🙌 我是好想工作室 Web Camp 學員 EO
歡迎來到鐵人賽《Git 起來!每日一招學起來》系列的第一天!

這 30 天,我會每天分享一個 Git 的指令、技巧或觀念
帶大家從新手到進階,一步一步掌握版本控制的祕訣。

今天,我們要從最基礎、也是最常被忽略的指令開始:git add


為什麼要 git add

很多人第一次用 Git 都會疑惑:

我明明修改了檔案,為什麼還要多打一個 git add 才能 commit?

其實這是因為 Git 的工作流程分成三個區域

  1. 工作目錄(Working Directory) 👉 你實際修改的檔案
  2. 暫存區(Staging Area / Index) 👉 放進「購物車」的東西
  3. 版本庫(Repository) 👉 真的被記錄下來的歷史

Git 的工作流程分成三個區域

所以 git add 的角色就是:

把你修改的檔案,先丟進購物車,準備結帳。


基本用法

最常見的 git add 用法(Git 2.0 之後的行為):

# 把單一檔案放進暫存區
git add index.html

# 把所有修改過的檔案放進暫存區(只有當前目錄以下)
git add .

# 把所有檔案(包含刪除、修改、新增)都加入(整個 Repository)
git add --all
git add -A

# 只加入「修改與刪除」的檔案(不包含新檔案)
git add -u

📌 使用場景:

  • git add . → 適合只想加入當前目錄下的所有變更。
  • git add -A → 最全面,建議大多數情況用這個,範圍是整個 Repository。
  • git add -u → 適合只想更新(修改、刪除),但不想把新檔案加入。

進階小技巧:挑選要加的內容

有時候我們不想一次把所有修改丟進 commit,這時候可以用 互動式選擇

git add -p

p 是 patch 的縮寫,意思是「補丁」或「修改片段」。
這個指令會把檔案的修改分成一塊一塊(hunk)顯示出來,讓你逐一決定要不要加入。

🔎 範例:

@@ -1,3 +1,3 @@
- let name = "Sean";
+ let name = "Alex";
  console.log("Hello " + name);

Git 會問你:

Stage this hunk [y,n,q,a,d,s,e,?]?
  • y:yes 加入這一段
  • n:no 不要加
  • q:quit 退出
  • a:all 加入這一段和之後的所有修改
  • d:done 不加入這一段和之後的所有修改
  • s:split 拆更小的區塊
  • e:edit 進入編輯模式
  • ?:help 顯示幫助(列出所有可用的選項和說明)

👉 這個技巧超好用,可以避免一次 commit 一堆「測試中的垃圾修改」。


常見錯誤

  1. 忘記 add
    • 你 commit 完發現「怎麼檔案沒進去?」通常是忘記 git add
  2. 一次 add 太多
    • git add . 很方便,但小心會把 debug code 一起送進去。

小挑戰 💪

  • 修改三個檔案,試著用 git add -p 只提交其中一部分。
  • 然後再用 git log -p 查看,確認 commit 內容真的只有你選的部分。

小結

今天我們學到:

  • Git 有「工作目錄 → 暫存區 → 版本庫」的三階段流程
  • git add 就是「把東西放進購物車」
  • git add .git add -A 的差異在於「路徑範圍」
  • git add -p 幫助你更精準控制 commit 的內容

明日預告

明天我們會聊到 Day 2:git commit —— 按下結帳鍵,把購物車的東西送進歷史 🛒✨


下一篇
Day 2:git commit —— 按下結帳鍵,把購物車的東西送進歷史
系列文
Git 起來!每日一招學起來3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言